home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
DEMON
/
LANGUAGE
/
SCM4E2.ARC
/
!RelNotes
< prev
next >
Wrap
Text File
|
1995-09-12
|
7KB
|
212 lines
GNU Scheme 4e2 Summer Rehash (theres life in the source yet!)
----------------------------------------------------------------------
This is the (n'th) release of the GNU scheme interpreter.
As ever read the provided documentation carefully ;-)
Things to note :
if you keep you scheme source in !Scm.scm then
(load "<scm$dir>.foo")
will load !Scm.scm.foo - as you might expect.
Source is available from :
swiss-ftp.ai.mit.edu
/pub/users/jaffer
(depending on how they are feeling :)
and it'll no doubt eventually arrive at
ftp.cs.indiana.edu
/pub/scheme-repository
[note this is the new home of the scheme repository]
[note2 - the archimedes extension routines aren't yet in the source package,
if you desperately want to see how then email me ;)
]
Running SCM
-----------
Three ways depending on how you like it :
o double click on the icon
o an alias 'scm' is setup to use
o an alias 'taskscm' runs scm in a taskwindow; however the first
of the three ways is preferred as it enables the graphics
routines to work - if you run in a taskwindow then they tend
not to...(unfortunately)
(You'll need OS3 for the taskwindow alias to work of course)
It _might_ be nice if everything ran in a window; but having seen EdScheme
doing this the speed really is depressing - I think that having it run under
the WIMP with windows etc would add to the code something chronic and also
make the performance suffer when doing graphics (mind you, configurable time
slices might sort it)....opinions anyone?
Large Announcement
------------------
Due to some diligent interference with the source we now have some really
fun primitives to play with - at last you can have graphics!
See the docs in !ArcExtns. Also note that they arent what you might call
spectacularly robust - ie they dont check what numbers you feed into them
and merely try it anyway..
This should significantly improve the fun factor of Scheme for the masses.
I would be EXTREMELY grateful to hear of any bugs present in the new routines
- I'll fix anything thats probably brain damaged.
SCM should load the new routines as I've set it up - the source is VERY self
explanatory (the scheme support routines) - the C code should be present
inside !Scm.c.archi.
I'll include any nice graphics routines that anyone writes with full credit.
(so get doodling)
Features / Bugs / Warts
-----------------------
`alarm' has been removed. It behaves very badly on the RPC (worked okay on
the A5000 but then thats life I guess...)
You may have problems using taskwindows and trying to interrupt loops -
for example if you try
(define (f x)(f (- x 1))) ; just to be awkward
(f 9)
and try hitting escape to interrupt it in a !Zap taskwindow - it sticks.
However running it full screen mode it interrupts fine on escape - simply
try defining
(define (user-interrupt)
(begin
(display "Ouch! you hit escape!)(newline)
(abort)))
before trying the above again and it'll display your new customised message
when you hit escape...
One slightly annoying one -
If you fiddle the !Boot file to pass arguments to the alias `scm', then it
doesn't load the file most of the time due to erroneous expansion of
aliases of paths; even if you don't it tends to do this.
Slightly irksome but easily worked around - the `load' primitive copes
with anything thrown at it generally, including paths / aliases and if you
need something loaded at each invocation then add it into your ScmInit.
Second one :
If you load a file and it is syntactically invalid (aherm) - for that read -
you botched up and put in one too many / few parentheses :
SCM complains and then if you go back and edit it and try to save it you get
a file open error. This is because SCM doesn't shut open files - simply
do a (system "shut") or alternatively similar from your favourite editor
(!shut in vi does the trick).
Other than that it seems to suffice as the fastest LISPy type language I've
found on the Arc...(see footnote #1)
Bonuses
-------
Small items that are included in this little bundle that you wouldn't
otherwise get :
!Scm.makefile
!Scm.scm.macros
!Scm.scm.arc_ext
!Scm.scm.arc_demos
Taking each in turn we have :
o the makefile for building SCM - this is due to Aubrey not including
platform dependent makefiles with SCM any more - and as we dont
have a UNIX like shell (sigh) this is the easiest way to rebuild
it.
o a miniscule demonstration of how to do macros. Nobody actually
asked but I was interested as it's the only bit I hadn't figured
out how to do in SCM. Suck 'em and see.
o the support code for the archi graphics routines - feel free to add
to this - I'll include _anything_ useful with credit.
o the demonstration code using the new primitives provided. Again
I'll include _anything_ useful with credit.
Options compiled in -
Floats, Bignums (try `(integer-expt 2 256)',
Ticks (I'm not convinced they do much useful but they are here for
inspection...), Arrays, Rev2 procedures, Regular expressions (regexs)
(note that these are only slightly tested, but seem to go okay from what
Ive tried so far---this was not a pleasant afternoon massaging this thru'..),
Compiled closures (if you fancy peering at the source and adding new
routines then this might be of interest..), IO-extensions.
[
Please note that this binary is based upon the 4e2 version of the sources
and not the 4e1 official release---i.e. your mileage may vary.
If you feel worried then you should probably use 4e1 ;-)
]
Other toys for GNU Scheme
-------------------------
(NI) means not included in this bundle - (I) means it is.
(NI)
There should be the Symbolic Algebra package JACAL available for use with
GNU Scheme at the same place you got this from - if not email me and I'll
send you it bundled up ready to go for the arc.
(It actually installs moderately painlessly once you've fiddled the paths
and a few redundant defines out)
(note - it still works as of 4e2 :-)
(NI)
WB - database package. Haven't tried. Needs Hobbit?
(NI)
Hobbit - Scheme->C compiler. May look at this soonish once I get graphics
finished or once GCC 2.6.n comes out for RiscOS - until then it would
slow it down to compile it with GCC (pity..).
(NI)
XSCM - interface to X - errm you are joking aren't you?
Actually if someone could come up with a port of this it would be really
really spiffy and make writing desktop apps a doddle; the only problem is
that it's horribly non-trivial. (could do Tcl/Tk instead?)
(I)
SLIB - Practically all of SLIB is present - the texi'ed docs are present in
!Scm.slibdocs.* and downwards. Theres a lot of it. And a lot of it is
rather err hirsute. If you are willing to persevere there are all manner of
Good Things in here - an Object system for doing OOP with Scheme,
a database system, syntax extensions, character plotting for simple text
based graphics (in short - this makes Scheme have more functions than you
can safely remember..).
(the list goes on and on....see the FAQs)
Bug reports / comments / notice of anyone actually using it to :
email
ams@amonsul.demon.co.uk
snailmail
(I'm ever optimistic someone might send me something novel / a postcard) :
65 ellan hay rd,
bradley stoke,
bristol.
bs12 0ha.
happy scheming,
al slater.
3/8/95
(footnote #1 -- This was true until Pete Burwood ported GNU CLISP.
It goes faster. (It also has a sensible object system. Yummy. It should
be available from whereever you got this...))